package com.czbgradefive.shop.service.impl;

import java.util.Date;
import java.util.List;
import com.czbgradefive.common.core.utils.DateUtils;

import com.czbgradefive.common.core.web.domain.BaseEntity;
import com.czbgradefive.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.czbgradefive.shop.mapper.MallProductBrandInfoMapper;
import com.czbgradefive.shop.domain.MallProductBrandInfo;
import com.czbgradefive.shop.service.IMallProductBrandInfoService;

/**
 * 商品品牌Service业务层处理
 * 
 * @author czbgradefive
 * @date 2024-05-06
 */
@Service
public class MallProductBrandInfoServiceImpl implements IMallProductBrandInfoService 
{
    @Autowired
    private MallProductBrandInfoMapper mallProductBrandInfoMapper;

    @Autowired
    private BaseEntity genTableColumn;

    /**
     * 查询商品品牌
     * 
     * @param id 商品品牌主键
     * @return 商品品牌
     */
    @Override
    public MallProductBrandInfo selectMallProductBrandInfoById(Long id)
    {
        return mallProductBrandInfoMapper.selectMallProductBrandInfoById(id);
    }

    /**
     * 查询商品品牌列表
     * 
     * @param mallProductBrandInfo 商品品牌
     * @return 商品品牌
     */
    @Override
    public List<MallProductBrandInfo> selectMallProductBrandInfoList(MallProductBrandInfo mallProductBrandInfo)
    {
        return mallProductBrandInfoMapper.selectMallProductBrandInfoList(mallProductBrandInfo);
    }

    /**
     * 新增商品品牌
     * 
     * @param mallProductBrandInfo 商品品牌
     * @return 结果
     */
    @Override
    public int insertMallProductBrandInfo(MallProductBrandInfo mallProductBrandInfo)
    {
        Long userid = SecurityUtils.getLoginUser().getUserid();
        Date nowDate = DateUtils.getNowDate();

        genTableColumn.setCreateBy(String.valueOf(userid));
        genTableColumn.setUpdateBy(String.valueOf(userid));

        mallProductBrandInfo.setCreateBy(String.valueOf(userid));
        mallProductBrandInfo.setUpdateBy(String.valueOf(userid));
        mallProductBrandInfo.setCreateTime(nowDate);
        mallProductBrandInfo.setUpdateTime(nowDate);
        return mallProductBrandInfoMapper.insertMallProductBrandInfo(mallProductBrandInfo);
    }

    /**
     * 修改商品品牌
     * 
     * @param mallProductBrandInfo 商品品牌
     * @return 结果
     */
    @Override
    public int updateMallProductBrandInfo(MallProductBrandInfo mallProductBrandInfo)
    {
        mallProductBrandInfo.setUpdateTime(DateUtils.getNowDate());
    Long userid = SecurityUtils.getLoginUser().getUserid();
    mallProductBrandInfo.setUpdateBy(String.valueOf(userid));
        return mallProductBrandInfoMapper.updateMallProductBrandInfo(mallProductBrandInfo);
    }

    /**
     * 批量删除商品品牌
     * 
     * @param ids 需要删除的商品品牌主键
     * @return 结果
     */
    @Override
    public int deleteMallProductBrandInfoByIds(Long[] ids)
    {
        return mallProductBrandInfoMapper.deleteMallProductBrandInfoByIds(ids);
    }

    /**
     * 删除商品品牌信息
     * 
     * @param id 商品品牌主键
     * @return 结果
     */
    @Override
    public int deleteMallProductBrandInfoById(Long id)
    {
        return mallProductBrandInfoMapper.deleteMallProductBrandInfoById(id);
    }
}
